<?php
	include ("../_conf/constantes.php");
	include ("../config.php");
	require_once (PEARPATH . "HTML/Template/IT.php");
	$tpl = new HTML_Template_IT(TPLPATH);
	$tpl->loadTemplatefile("resultadoCombinacion.htm");
	$conn = ADONewConnection($dsnComisiones);
	$conn->SetFetchMode(ADODB_FETCH_ASSOC);
	$copy = true;
	$idComision = (!empty($_POST["idcomision"])) ? $_POST["idcomision"] : "";
	$cedulaEmpleado = (!empty($_POST["cedulaempleado"])) ? $_POST["cedulaempleado"] : "";
	
	if (empty($idComision) && empty($cedulaEmpleado)) {
		echo "Error en los datos que se envia";
		exit();
	}
	
	if (is_array($_FILES)) {
		$nombreArchivo = $_FILES["archivoCsv"]["name"];
		$rutaArchivoTmp = $_FILES["archivoCsv"]["tmp_name"];
		if (is_file($rutaArchivoTmp)) {
			if (!copy($rutaArchivoTmp, TMPPATH . $nombreArchivo)) {
				$copio = false;
				echo "Fallo al copiar el archivo: $rutaArchivoTmp...\n";
			}
		}
	}
	
	$nombreArchivoPath = TMPPATH . $nombreArchivo;
	if ($copio) {
		echo "Copio";
	}
	
	// Arreglos para trabajar con reemplazables
	$valoresReem 	= array();
	$vComision 	= array();
	$nombreReemp 	= array();
	// Definicion de los reemplazables para cada valor de la consulta
	$reemplazable["cedulaempleado"] = "*DOC_IDENTIDAD*";
	$reemplazable["nombrecompleto"] = "*NOMBRES*";
	$reemplazable["cargo"] = "*CARGO_F*";
	$reemplazable["clase"] = "*CLASE*";
	$reemplazable["gradotrabajador"] = "*GRADO*";
	$reemplazable["salario"] = "*SAL_BASE*";
	$reemplazable["nombredependencia"] = "*DEPE_NOMBRE*";
	$reemplazable["fechasal"] = "*FECHA_SAL*";
	$reemplazable["fechareg"] = "*FECHA_REG*";
	$reemplazable["valordiariocom"] = "*VALOR_DIA*";
	$reemplazable["diasliquidar"] 	= "*DIAS_LIQUIDAR*";
	$reemplazable["valorcomision"] 	= "*TOTAL_VIA*";
	$reemplazable["valorrutaterres"] = "*VALOR_T*";
	$reemplazable["objetocomision"] = "*OBJ_COMISION*";
	$reemplazable["destino"] = "*C_DESTINO*";
	
	$nombreReemp = array_keys($reemplazable);
	$vComision = array_flip($nombreReemp);
	$sqlVigencia = "SELECT idvigencia FROM vigencia ORDER BY idvigencia DESC LIMIT 1";
	
	$sqlComision = "SELECT 	emp.cedulaempleado || ' de ' || emp.ciudadexpedicion AS cedulaempleado,
				emp.nombres || ' ' || emp.primerapellido || ' ' || emp.segundoapellido AS nombrecompleto,
				emp.cargo,
				emp.gradotrabajador,
				emp.salariobase AS salario,
				dep.nombredependencia,
				ce.fechasal,
				ce.fechareg,
				ce.valordiariocom,
				ce.diasliquidar,
				ce.valorcomision,
				ce.valorrutaterres,
				ce.valorrutamari,
				com.objetocomision,
				com.destino
			FROM empleado emp,
				dependencia dep,
				comisionempleado ce,
				comision com
			WHERE ce.idcomision = $idComision AND
				ce.cedulaempleado = $cedulaEmpleado AND
				ce.idcomision = com.idcomision AND
				ce.cedulaempleado = emp.cedulaempleado AND
				emp.iddependencia = dep.iddependencia";
	
	$rs = $conn->Execute($sqlComision);
	
	if (!$rs->EOF) {
		foreach($nombreReemp as $valor) {
			$vComision[$valor] = (!empty($rs->fields[$valor])) ? $rs->fields[$valor] : "";
		}
	}
	
	$vComsion = "";
	$hora 	= date("H")."_".date("i")."_".date("s");
	// capturando dia mes y ano en cada variable
	$ddate	= date('d');
	$mdate	= date('m');
	$adate	= date('Y');
	// var que almacena  la fecha formateada
	$fechaArchivo = $adate . "_" . $mdate . "_" . $ddate;
	//var que almacena el nombre que tendra pantilla
	$archInsumo = "comtmp_" . $fechaArchivo . "_" . $hora .".txt";
	$archInsumoTmp = "comtmp_" . $fechaArchivo . "_" . $hora;
	if(is_file(MASIVAPATH . $archInsumo)) {
		ulink(MASIVAPATH . $archInsumo);
	}
	
	$fp = fopen(MASIVAPATH . $archInsumo, 'w+');
	if (!$fp){
		$error = "ERROR!!! No se pudo abrir el archivo " . MASIVAPATH . $archInsumo;
		exit();
	}
	
	// Archivo de enlace
	$linkArchSimple = TMPPATH . "prueba.doc";
	$linkArchSimple = $nombreArchivoPath;
	$archivoUrl = "archivoGen" . $fechaArchivo . $hora . ".doc";
	// Archivo generado en por el combinador
	$archivoFinal = TMPPATH . "archivoGen" . $fechaArchivo . $hora . ".doc";
	fputs ($fp,"archivoInicial=$linkArchSimple"."\n");
	fputs ($fp,"archivoFinal=$archivoFinal"."\n");
	
	foreach ($nombreReemp as $valor) {
		fputs($fp, $reemplazable[$valor] . "=" . $vComision[$valor] . "\n");
	}
	
	fclose($fp);
	/* El include del servlet hace que se altere el valor de 
	 * la variable $estadoTransaccion como 0 si se pudo procesar el documento, -1 de lo
	 * contrario
	 */
	$ambiente = "comisiones";
	$estadoTransaccion = -1;
	$vp = "s";
	$servidorCombinacion = "http://$servProcDocs/docgen/servlet/WorkDistributor?accion=1&ambiente=$ambiente&archinsumo=$archInsumo&vp=$vp";
	//$archInsumo = $archInsumoTmp;
	if (is_file(MASIVAPATH . $archInsumo)) {
		//include(ORFEOPATH . "iniciarCombinacion.php");
		//$archInsumo = $archInsumoTmp;
		//var_dump($servidorCombinacion);
	?><!--<?php
		include ($servidorCombinacion);
	?>
	-->
	<?php
	}
	if (is_file($archivoFinal)) {
		$sql = "UPDATE comisionempleado 
				SET estadocomision = 'G' 
			WHERE idcomision = $idComision AND
				cedulaempleado = $cedulaEmpleado";
		$rs = $conn->Execute($sql);
		// Obteniendo el numero de funcionarios por comision
		$sql = "SELECT COUNT(*) AS funcionarios 
				FROM comisionempleado 
				WHERE idcomision = $idComision";
		$rs = $conn->Execute($sql);
		if (!$rs->EOF) {
			$numFun = $rs->fields["funcionarios"];
		}
		// Obteniendo el numero de funcionarios que se generaron resolucion
		$sql = "SELECT COUNT(*) AS funcionariosgen
				FROM comisionempleado
				WHERE idcomision = $idComision AND
					estadocomision = 'G'";
		$rs = $conn->Execute($sql);
		if (!$rs->EOF) {
			$numFunGen = $rs->fields["funcionariosgen"];
		}
		
		/* Si el numero de resoluciones generadas es igual al de funcionarios
		 * de la comision entonces cambia de estado la comision en la tabla de comisiones
		 */
		if ($numFun == $numFunGen) {
			$sql = "UPDATE comision
					SET estadocomision = 'G'
				WHERE idcomision = $idComision";
			$rs = $conn->Execute($sql);
			if (!$rs->EOF) {
				$regActualizado = true;
			}
		}
		$tpl->setVariable("ENLACEARCHIVO", URLTMP . $archivoUrl);
		$tpl->setVariable("NOMBREARCHIVO", $archivoUrl);
	} else {
		echo "Error en la combinacion del archivo";
		exit();
	}
	
	$tpl->setVariable("TITULO_PAGINA", "Resultado de la Combinaci&oacute;n");
	$tpl->setVariable("CSSURL", URLCSS);
	$tpl->show();
?>
